<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
SimplexSolver (Commons Math 3.2 API)
</TITLE>


<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="SimplexSolver (Commons Math 3.2 API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SimplexSolver.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../org/apache/commons/math3/optim/linear/Relationship.html" title="enum in org.apache.commons.math3.optim.linear"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/commons/math3/optim/linear/UnboundedSolutionException.html" title="class in org.apache.commons.math3.optim.linear"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?org/apache/commons/math3/optim/linear/SimplexSolver.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SimplexSolver.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.commons.math3.optim.BaseOptimizer">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.commons.math3.optim.linear</FONT>
<BR>
Class SimplexSolver</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">org.apache.commons.math3.optim.BaseOptimizer</A>&lt;PAIR&gt;
      <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim">org.apache.commons.math3.optim.BaseMultivariateOptimizer</A>&lt;<A HREF="../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</A>&gt;
          <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar">org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer</A>
              <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../../org/apache/commons/math3/optim/linear/LinearOptimizer.html" title="class in org.apache.commons.math3.optim.linear">org.apache.commons.math3.optim.linear.LinearOptimizer</A>
                  <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.commons.math3.optim.linear.SimplexSolver</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>SimplexSolver</B><DT>extends <A HREF="../../../../../../org/apache/commons/math3/optim/linear/LinearOptimizer.html" title="class in org.apache.commons.math3.optim.linear">LinearOptimizer</A></DL>
</PRE>

<P>
Solves a linear problem using the "Two-Phase Simplex" method.
 <p>
 <b>Note:</b> Depending on the problem definition, the default convergence criteria
 may be too strict, resulting in <A HREF="../../../../../../org/apache/commons/math3/optim/linear/NoFeasibleSolutionException.html" title="class in org.apache.commons.math3.optim.linear"><CODE>NoFeasibleSolutionException</CODE></A> or
 <A HREF="../../../../../../org/apache/commons/math3/exception/TooManyIterationsException.html" title="class in org.apache.commons.math3.exception"><CODE>TooManyIterationsException</CODE></A>. In such a case it is advised to adjust these
 criteria with more appropriate values, e.g. relaxing the epsilon value.
 <p>
 Default convergence criteria:
 <ul>
   <li>Algorithm convergence: 1e-6</li>
   <li>Floating-point comparisons: 10 ulp</li>
   <li>Cut-Off value: 1e-12</li>
 </ul>
 <p>
 The cut-off value has been introduced to zero out very small numbers in the Simplex tableau,
 as these may lead to numerical instabilities due to the nature of the Simplex algorithm
 (the pivot element is used as a denominator). If the problem definition is very tight, the
 default cut-off value may be too small, thus it is advised to increase it to a larger value,
 in accordance with the chosen epsilon.
 <p>
 It may also be counter-productive to provide a too large value for <A HREF="../../../../../../org/apache/commons/math3/optim/MaxIter.html" title="class in org.apache.commons.math3.optim"><CODE>MaxIter</CODE></A> as parameter in the call of <A HREF="../../../../../../org/apache/commons/math3/optim/linear/LinearOptimizer.html#optimize(org.apache.commons.math3.optim.OptimizationData...)"><CODE>optimize(OptimizationData...)</CODE></A>,
 as the <A HREF="../../../../../../org/apache/commons/math3/optim/linear/SimplexSolver.html" title="class in org.apache.commons.math3.optim.linear"><CODE>SimplexSolver</CODE></A> will use different strategies depending on the current iteration
 count. After half of the allowed max iterations has already been reached, the strategy to select
 pivot rows will change in order to break possible cycles due to degenerate problems.
<P>

<P>
<DL>
<DT><B>Since:</B></DT>
  <DD>2.0</DD>
<DT><B>Version:</B></DT>
  <DD>$Id: SimplexSolver.java 1462503 2013-03-29 15:48:27Z luc $</DD>
</DL>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.commons.math3.optim.BaseOptimizer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.commons.math3.optim.<A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">BaseOptimizer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#evaluations">evaluations</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#iterations">iterations</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/commons/math3/optim/linear/SimplexSolver.html#SimplexSolver()">SimplexSolver</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Builds a simplex solver with default settings.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/commons/math3/optim/linear/SimplexSolver.html#SimplexSolver(double)">SimplexSolver</A></B>(double&nbsp;epsilon)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Builds a simplex solver with a specified accepted amount of error.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/commons/math3/optim/linear/SimplexSolver.html#SimplexSolver(double, int)">SimplexSolver</A></B>(double&nbsp;epsilon,
              int&nbsp;maxUlps)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Builds a simplex solver with a specified accepted amount of error.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/commons/math3/optim/linear/SimplexSolver.html#SimplexSolver(double, int, double)">SimplexSolver</A></B>(double&nbsp;epsilon,
              int&nbsp;maxUlps,
              double&nbsp;cutOff)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Builds a simplex solver with a specified accepted amount of error.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/commons/math3/optim/linear/SimplexSolver.html#doIteration(org.apache.commons.math3.optim.linear.SimplexTableau)">doIteration</A></B>(org.apache.commons.math3.optim.linear.SimplexTableau&nbsp;tableau)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Runs one iteration of the Simplex method on the given model.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/commons/math3/optim/linear/SimplexSolver.html#doOptimize()">doOptimize</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs the bulk of the optimization algorithm.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/commons/math3/optim/linear/SimplexSolver.html#solvePhase1(org.apache.commons.math3.optim.linear.SimplexTableau)">solvePhase1</A></B>(org.apache.commons.math3.optim.linear.SimplexTableau&nbsp;tableau)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Solves Phase 1 of the Simplex method.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.commons.math3.optim.linear.LinearOptimizer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.commons.math3.optim.linear.<A HREF="../../../../../../org/apache/commons/math3/optim/linear/LinearOptimizer.html" title="class in org.apache.commons.math3.optim.linear">LinearOptimizer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/commons/math3/optim/linear/LinearOptimizer.html#getConstraints()">getConstraints</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/linear/LinearOptimizer.html#getFunction()">getFunction</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/linear/LinearOptimizer.html#isRestrictedToNonNegative()">isRestrictedToNonNegative</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/linear/LinearOptimizer.html#optimize(org.apache.commons.math3.optim.OptimizationData...)">optimize</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/linear/LinearOptimizer.html#parseOptimizationData(org.apache.commons.math3.optim.OptimizationData...)">parseOptimizationData</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.commons.math3.optim.nonlinear.scalar.<A HREF="../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar">MultivariateOptimizer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html#computeObjectiveValue(double[])">computeObjectiveValue</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html#getGoalType()">getGoalType</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.commons.math3.optim.BaseMultivariateOptimizer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.commons.math3.optim.<A HREF="../../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim">BaseMultivariateOptimizer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html#getLowerBound()">getLowerBound</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html#getStartPoint()">getStartPoint</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html#getUpperBound()">getUpperBound</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.commons.math3.optim.BaseOptimizer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.commons.math3.optim.<A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">BaseOptimizer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getConvergenceChecker()">getConvergenceChecker</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getEvaluations()">getEvaluations</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getIterations()">getIterations</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getMaxEvaluations()">getMaxEvaluations</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getMaxIterations()">getMaxIterations</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#incrementEvaluationCount()">incrementEvaluationCount</A>, <A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#incrementIterationCount()">incrementIterationCount</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="SimplexSolver()"><!-- --></A><H3>
SimplexSolver</H3>
<PRE>
public <B>SimplexSolver</B>()</PRE>
<DL>
<DD>Builds a simplex solver with default settings.
<P>
</DL>
<HR>

<A NAME="SimplexSolver(double)"><!-- --></A><H3>
SimplexSolver</H3>
<PRE>
public <B>SimplexSolver</B>(double&nbsp;epsilon)</PRE>
<DL>
<DD>Builds a simplex solver with a specified accepted amount of error.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>epsilon</CODE> - Amount of error to accept for algorithm convergence.</DL>
</DL>
<HR>

<A NAME="SimplexSolver(double, int)"><!-- --></A><H3>
SimplexSolver</H3>
<PRE>
public <B>SimplexSolver</B>(double&nbsp;epsilon,
                     int&nbsp;maxUlps)</PRE>
<DL>
<DD>Builds a simplex solver with a specified accepted amount of error.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>epsilon</CODE> - Amount of error to accept for algorithm convergence.<DD><CODE>maxUlps</CODE> - Amount of error to accept in floating point comparisons.</DL>
</DL>
<HR>

<A NAME="SimplexSolver(double, int, double)"><!-- --></A><H3>
SimplexSolver</H3>
<PRE>
public <B>SimplexSolver</B>(double&nbsp;epsilon,
                     int&nbsp;maxUlps,
                     double&nbsp;cutOff)</PRE>
<DL>
<DD>Builds a simplex solver with a specified accepted amount of error.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>epsilon</CODE> - Amount of error to accept for algorithm convergence.<DD><CODE>maxUlps</CODE> - Amount of error to accept in floating point comparisons.<DD><CODE>cutOff</CODE> - Values smaller than the cutOff are treated as zero.</DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="doIteration(org.apache.commons.math3.optim.linear.SimplexTableau)"><!-- --></A><H3>
doIteration</H3>
<PRE>
protected void <B>doIteration</B>(org.apache.commons.math3.optim.linear.SimplexTableau&nbsp;tableau)
                    throws <A HREF="../../../../../../org/apache/commons/math3/exception/TooManyIterationsException.html" title="class in org.apache.commons.math3.exception">TooManyIterationsException</A>,
                           <A HREF="../../../../../../org/apache/commons/math3/optim/linear/UnboundedSolutionException.html" title="class in org.apache.commons.math3.optim.linear">UnboundedSolutionException</A></PRE>
<DL>
<DD>Runs one iteration of the Simplex method on the given model.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>tableau</CODE> - Simple tableau for the problem.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../../org/apache/commons/math3/exception/TooManyIterationsException.html" title="class in org.apache.commons.math3.exception">TooManyIterationsException</A></CODE> - if the allowed number of iterations has been exhausted.
<DD><CODE><A HREF="../../../../../../org/apache/commons/math3/optim/linear/UnboundedSolutionException.html" title="class in org.apache.commons.math3.optim.linear">UnboundedSolutionException</A></CODE> - if the model is found not to have a bounded solution.</DL>
</DD>
</DL>
<HR>

<A NAME="solvePhase1(org.apache.commons.math3.optim.linear.SimplexTableau)"><!-- --></A><H3>
solvePhase1</H3>
<PRE>
protected void <B>solvePhase1</B>(org.apache.commons.math3.optim.linear.SimplexTableau&nbsp;tableau)
                    throws <A HREF="../../../../../../org/apache/commons/math3/exception/TooManyIterationsException.html" title="class in org.apache.commons.math3.exception">TooManyIterationsException</A>,
                           <A HREF="../../../../../../org/apache/commons/math3/optim/linear/UnboundedSolutionException.html" title="class in org.apache.commons.math3.optim.linear">UnboundedSolutionException</A>,
                           <A HREF="../../../../../../org/apache/commons/math3/optim/linear/NoFeasibleSolutionException.html" title="class in org.apache.commons.math3.optim.linear">NoFeasibleSolutionException</A></PRE>
<DL>
<DD>Solves Phase 1 of the Simplex method.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>tableau</CODE> - Simple tableau for the problem.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../../org/apache/commons/math3/exception/TooManyIterationsException.html" title="class in org.apache.commons.math3.exception">TooManyIterationsException</A></CODE> - if the allowed number of iterations has been exhausted.
<DD><CODE><A HREF="../../../../../../org/apache/commons/math3/optim/linear/UnboundedSolutionException.html" title="class in org.apache.commons.math3.optim.linear">UnboundedSolutionException</A></CODE> - if the model is found not to have a bounded solution.
<DD><CODE><A HREF="../../../../../../org/apache/commons/math3/optim/linear/NoFeasibleSolutionException.html" title="class in org.apache.commons.math3.optim.linear">NoFeasibleSolutionException</A></CODE> - if there is no feasible solution?</DL>
</DD>
</DL>
<HR>

<A NAME="doOptimize()"><!-- --></A><H3>
doOptimize</H3>
<PRE>
public <A HREF="../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</A> <B>doOptimize</B>()
                          throws <A HREF="../../../../../../org/apache/commons/math3/exception/TooManyIterationsException.html" title="class in org.apache.commons.math3.exception">TooManyIterationsException</A>,
                                 <A HREF="../../../../../../org/apache/commons/math3/optim/linear/UnboundedSolutionException.html" title="class in org.apache.commons.math3.optim.linear">UnboundedSolutionException</A>,
                                 <A HREF="../../../../../../org/apache/commons/math3/optim/linear/NoFeasibleSolutionException.html" title="class in org.apache.commons.math3.optim.linear">NoFeasibleSolutionException</A></PRE>
<DL>
<DD>Performs the bulk of the optimization algorithm.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#doOptimize()">doOptimize</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">BaseOptimizer</A>&lt;<A HREF="../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</A>&gt;</CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the point/value pair giving the optimal value of the
 objective function.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../../org/apache/commons/math3/exception/TooManyIterationsException.html" title="class in org.apache.commons.math3.exception">TooManyIterationsException</A></CODE>
<DD><CODE><A HREF="../../../../../../org/apache/commons/math3/optim/linear/UnboundedSolutionException.html" title="class in org.apache.commons.math3.optim.linear">UnboundedSolutionException</A></CODE>
<DD><CODE><A HREF="../../../../../../org/apache/commons/math3/optim/linear/NoFeasibleSolutionException.html" title="class in org.apache.commons.math3.optim.linear">NoFeasibleSolutionException</A></CODE></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SimplexSolver.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../org/apache/commons/math3/optim/linear/Relationship.html" title="enum in org.apache.commons.math3.optim.linear"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/commons/math3/optim/linear/UnboundedSolutionException.html" title="class in org.apache.commons.math3.optim.linear"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?org/apache/commons/math3/optim/linear/SimplexSolver.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SimplexSolver.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.commons.math3.optim.BaseOptimizer">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2003-2013 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
